<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 4.3.2 or newer
 *
 * @package        CodeIgniter
 * @author        ExpressionEngine Dev Team
 * @copyright    Copyright (c) 2006, EllisLab, Inc.
 * @license        http://codeigniter.com/user_guide/license.html
 * @link        http://codeigniter.com
 * @since        Version 1.0
 * @filesource
 */

// ------------------------------------------------------------------------

/**
 * CodeIgniter Utility Helpers
 *
 * @package        CodeIgniter
 * @subpackage    Helpers
 * @category    Helpers
 * @author        Ario Sutomo
 * @link        
 */

// ------------------------------------------------------------------------

/**
 * DMY 2 YMD
 *
 * Mengkonversi format tanggal DMY menjadi YMD
 *
 * @access    public
 * @param    string    tgl
 * @param    string    separator
 * @return   string
 */    
if (! function_exists('DMY2YMD'))
{
    function DMY2YMD($tgl, $separator) 
    {
        $arr = explode($separator, $tgl);
        return sprintf('%s%s%s%s%s', $arr[2], $separator, $arr[1], $separator, $arr[0]);
    }
}

/**
 * MDY 2 YMD
 *
 * Mengkonversi format tanggal datepicker
 *
 * @access    public
 * @param    string    tgl
 * @param    string    separator
 * @return   string
 */    
if (! function_exists('MDY2YMD'))
{
    function MDY2YMD($tgl, $separator) 
    {
        $arr = explode($separator, $tgl);
        return sprintf('%s%s%s%s%s', $arr[2], $separator, $arr[0], $separator, $arr[1]);
    }
}

/**
 * YMD 2 DMY
 *
 * Mengkonversi format tanggal YMD menjadi DMY
 *
 * @access    public
 * @param    string    tgl
 * @param    string    separator
 * @return   string
 */    
if (! function_exists('YMD2DMY'))
{
    function YMD2DMY($tgl, $separator) 
    {
        $arr = explode($separator, $tgl);
        if (count($arr)==3) {
            return sprintf('%s%s%s%s%s', $arr[2], $separator, $arr[1], $separator, $arr[0]);
        } else {
            return $tgl;
        }
    }
}


/**
 * getJK_LP
 *
 * Mengkonversi format data jenis kelamin L/P menjadi Laki-laki/Perempuan
 *
 * @access    public
 * @param     string    jk
 * @return    string
 */    
if (! function_exists('getJK_LP')) {
    function getJK_LP($jk) {
        $jk = trim($jk);
        if ( ($jk == 'L') || ($jk == 'l') ) {
            return 'Laki-laki';
        } elseif ( ($jk == 'P') || ($jk == 'l') ) {
            return 'Perempuan';
        } else {
            return '?';
        }
    }
}

/**
 * getRequests
 *
 * Membuat $_GET buatan di CI
 *
 * Your url can be in the notation
 *    www.yoursite.com/index.php/class/function/request1:value1/request2:value2
 * 
 * To get the values from your request:
 * 
 *    $request = getRequests();
 *    echo $request['request1'];
 *    echo $request['request2']; 
 * 
 * @access    public
 * @param     void
 * @return    array
 * 
 * @Link: http://codeigniter.com/wiki/alternative_to_GET/
 */    
if (! function_exists('getRequests')) {
    function getRequests() {
        //get the default object
        $CI =& get_instance();
        //declare an array of request and add add basic page info
        $requestArray = array();
        $requests = $CI->uri->segment_array();
        foreach ($requests as $request) {
            $pos = strrpos($request, ':');
            if($pos >0) {
                list($key,$value)=explode(':', $request);
                if(!empty($value) || $value='') $requestArray[$key]=$value;
            }
        }
        return $requestArray ;
    } 
}

/**
 * trimTime
 *
 * Mengambil bagian tanggal saja dari tipe data DATETIME (bagian waktu dihapus)
 *
 * @access    public
 * @param     string    tgl (yyyy-mm-dd hhhh:mm:dd)
 * @return    integer
 */    
if (!function_exists('trimTime')) {
    function trimTime($tgl) {
        $temp = explode(' ', $tgl);
        return $temp[0];
    }
}


/**
 * getBulan
 *
 * Menghasilkan string nama bulan dari nomor bulan 
 *
 * @access    public
 * @param     int       nomor bulan
 * @return    string
 */    
if (!function_exists('getBulan')) {
    function getBulan($b) {
    	$arr = array(1 => 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus',
    	                  'September', 'Oktober', 'Nopember', 'Desember');
        return $arr[$b*1];
    }
}


/**
 * getMasaKerja
 *
 * Menghasilkan masa kerja seseorang dari parameter tgl yang diberikan
 *
 * @access    public
 * @param     string    tgl (yyyy-mm-dd)
 * @return    integer
 */    
if (!function_exists('getMasaKerja')) {
    function getMasaKerja($tgl) {
        $arr = explode(TGL_SEPARATOR, $tgl);
        
        $cMonth = $arr[1]*1;
        $cDay   = $arr[2]*1;
        $cYear  = $arr[0];

        if (date("n") < $cMonth) {
        	$tahun = date("Y") - $cYear - 1;
        	$bulan = 12 - $cMonth + date("n");
        } else if (date("n") >= $cMonth) {
        	$tahun = date("Y") - $cYear;
        	$bulan = date("n") - $cMonth;
        }
        
        return sprintf("%d tahun, %d bulan", $tahun, $bulan);
    }
}

/**
 * getTipeJabatan
 *
 * Menghasilkan nama tipe jabatan dari kode tipe jabatan
 *
 * @access    public
 * @param     string    kode
 * @return    string
 */    
if (! function_exists('getTipeJabatan')) {
    function getTipeJabatan($tipe) {
    	switch ($tipe) {
    		case TIPE_JABATAN_STRUKTURAL: return 'Struktural'; 
    		case TIPE_JABATAN_FUNGSIONAL_AK: return 'Jafung AK'; 
    	    case TIPE_JABATAN_FUNGSIONAL_NON_AK: return 'Jafung Non AK'; 
    	};
    }
}

/**
 * getTipeDiklat
 *
 * Menghasilkan nama tipe diklat dari kode tipe diklat
 *
 * @access    public
 * @param     string    kode
 * @return    string
 */    
if (! function_exists('getTipeDiklat')) {
    function getTipeDiklat($tipe) {
    	switch ($tipe) {
    		case TIPE_DIKLAT_STRUKTURAL: return 'Struktural'; 
    		case TIPE_DIKLAT_KEPEMIMPINAN: return 'Kepemimpinan'; 
    	    case TIPE_DIKLAT_FUNGSIONAL: return 'Fungsional'; 
    	    case TIPE_DIKLAT_TEKNIS: return 'Teknis'; 
    	    case TIPE_DIKLAT_LAINNYA: return 'Lainnya'; 
    	};
    }
}

/**
 * debugArray
 *
 * Menghasilkan keluaran isi suatu array
 *
 * @access    public
 * @param     string    kode
 * @return    string
 */    
if (! function_exists('debugArray')) {
    function debugArray($arr) {
		echo "<pre>";
		print_r($arr);
		echo "</pre>";
    }
}

?>